package model;

import java.util.Observable;

import controller.Presenter;

/**
 * This interface represent the game's Model abilities.<br>
 * Board moves, score, State & observation methods.
 * @see Observable
 * @author Barak & Tom
 */
public interface Model
{
	State moveUp(State currentState);
	State moveDown(State currentState);
	State moveLeft(State currentState);
	State moveRight(State currentState);
	int[][] getData();
	int getScore();
	void addObserver(Presenter p);
	void updateMe(int userCommand, String filePath);
}
